1. Field of the Invention
The present invention relates generally to networks. In particular, the present invention relates to network buses.
2. Background Information
A bus is generally defined as a common physical signal path that includes wires or other media (e.g., optical fiber) across which signals can be sent from one part of the network to another. One common characteristic of buses is that as the bus matures, the functions that need to be transmitted and received increase. However, any defined bus by design has an upper limit of functions that the bus can handle. Put another way, the bus may be limited in the number of words in its command/control vocabulary. The size of the command/control vocabulary tends to dictate the variety of functions the bus can handle.
Another common characteristic of buses is that operations on the buses must be synchronized for the bus to operate properly. A bus typically has three parts, a clock, data lines, and control lines. The clock gives the bus integrity, which allows the bus parts to work together as a unit. The clock may be inferred by the fundamental frequency of transmission from the command/control lines or data lines. The data lines typically carry data and the command/control lines typically carry command and control signal values.
One drawback of some existing networks is that there is a relationship between the clock and the data lines that must be maintained for the network to function as intended. This is because the clock and data on the data lines come from different sources. If any part of the bus (e.g., data on the data lines) goes faster or slower where it falls outside a window of margin that is governed by the clock edge, the bus will have errors and perhaps fail to perform its intended function. As the bus operates faster and faster, the clock in relation to the data lines and control lines can fail to perform its intended function.
Networks sometimes simultaneously transmit several channels to increase bandwidth. Channels are typically separated using different signal trace paths, wires, wavelengths, or colors (for optical transmission). It is common for one channel to take one path to a receiver while another channel takes a different path to the same receiver. Moreover, one channel's transmitter may fire at one time while another channel's transmitter may fire at a different time.
When these (and other) conditions exist (e.g., different colors, different trace paths, different transmitter firing times), the channels may be skewed at the receiver. This is because different colors may travel through the transmission media (e.g., the atmosphere, optical fiber) at different speeds or may take different paths and as a result arrive at the receiver at different times. When channels take different paths, one path may be longer or shorter than another path, or one path may be faster or slower than another path, which also means the signal values on channels may arrive at the receiver at different times. When the transmitter fires at different times the channels are launched at different times, which again means the signal values on channels may arrive at the receiver at different times. At the receiver, the conversion in the optical transducers may cause channels to be skewed as well because each optical transducer may have a different delay.
To compensate for channel skew, the receiver must synchronize the incoming channels in some manner. One current scheme to synchronize channels at the receive end involves aggregating multiple channels at a time, which each has at least one embedded clock, and connecting the aggregated lines at a register. Data is clocked into the register using a discrete clock. When the register sees that the data is settled the next data on the channels is clocked into the register. This scheme typically slows down communications, however, because the receiver must wait for all command/control information and data to be assembled before it determines the intended use of that function.